package com.kpmg.datalake.reportanalysis.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.github.pagehelper.PageInfo;
import com.kpmg.datalake.common.model.DimInfo;
import com.kpmg.datalake.common.vo.ServerResponse;
import com.kpmg.datalake.reportanalysis.vo.MultiDimRequestVO;
import com.kpmg.datalake.reportanalysis.vo.ReportTemplateVO;
import com.kpmg.datalake.reportanalysis.vo.TableHeaderVO;
import java.util.ArrayList;
import java.util.Map;

/**
 * 报表相关操作服务
 * @author Tony
 */
public interface ReportService {
	
	/**
	 * 初始化科目
	 */
	ServerResponse<PageInfo<DimInfo>> initSbj(int page, int size, String projectId, String param);
	
	/**
	 * 获取用户历史模板
	 */
	ServerResponse<PageInfo<Map<String, Object>>> getUserRptTemplates(String userId, String projectId, String filter, int page,
			int size);
	
	/**
	 * 报表筛选条件保存
	 */
	ServerResponse<String> saveCondition(String projectId, ReportTemplateVO vo);
	
	/**
	 * 删除用户历史模板
	 */
	ServerResponse<String> delUserTemplate(String projectId, String smyId);

  /**
   * 查询多维分析数据
   */
  Page<Map<String, Object>> getMultiDimReportData(MultiDimRequestVO requestVO);

	/**
	 * 获取多维动态表头
	 * @param projectId
	 * @return
	 */
	ArrayList<TableHeaderVO> getMultiHeader(String projectId);

	/**
	 * 初始化辅助核算项
	 */
	ServerResponse<PageInfo<DimInfo>> initAuxDim(int page, int size, String projectId, String param, String tableName);
}
